package com.maimang.platform.service;

import com.maimang.platform.common.entity.SysDictData;
import com.maimang.platform.common.service.SysDictDataService;
import com.maimang.platform.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * html调用 thymeleaf 实现字典读取
 *
 * @author Rocky
 */
@Service("dict")
public class DictService {
	@Autowired
	private SysDictDataService dictDataService;

	/**
	 * 根据字典类型查询字典数据信息
	 *
	 * @param dictType 字典类型
	 * @return 参数键值
	 */
	public List<SysDictData> getType(String dictType) {
		return dictDataService.selectDictDataByType(dictType);
	}

	/**
	 * 根据字典类型查询字典数据信息(过滤字典值)
	 *
	 * @param dictType  字典类型
	 * @param dictValue 字典值
	 * @return
	 */
	public List<SysDictData> getType(String dictType, String dictValue) {
		SysDictData dictData = new SysDictData();
		dictData.setDictType(dictType);
		dictData.setDictValue(dictValue);
		return dictDataService.selectDictDataList(dictData);
	}

	/**
	 * 根据类型和标签获取键值
	 *
	 * @param dictType  字典类型
	 * @param dictLabel 字典标签
	 * @return 字典键值
	 */
	public String getValue(String dictType, String dictLabel) {
		SysDictData dictData = new SysDictData();
		dictData.setDictType(dictType);
		dictData.setDictLabel(dictLabel);
		List<SysDictData> dictList = dictDataService.selectDictDataList(dictData);
		if (dictList.size() > 0) {
			dictData = dictList.get(0);
			return dictData.getDictValue();
		} else {
			return StringUtils.EMPTY;
		}
	}

	/**
	 * 根据字典类型和字典键值查询字典数据信息
	 *
	 * @param dictType  字典类型
	 * @param dictValue 字典键值
	 * @return 字典标签
	 */
	public String getLabel(String dictType, String dictValue) {
		return dictDataService.selectDictLabel(dictType, dictValue);
	}
}
